#pragma once
#include "../PocelainType.h"
#include "BufferGeometry.h"
#include <cmath>
POCELAIN_NAMESPACE_BEGIN
class SphereGeometry : public BufferGeometry
{
public:
    typedef SphereGeometry type;
    SphereGeometry(
        Real radius = 1,
        uint32_t widthSegments = 32,
        uint32_t heightSegments = 16,
        Real phiStart = 0,
        Real phiLength = MathUtils::PI * 2,
        Real thetaStart = 0,
        Real thetaLength = MathUtils::PI );
private:
    const Real radius;
    const uint32_t widthSegments;
    const uint32_t heightSegments;
    const Real phiStart;
    const Real phiLength;
    const Real thetaStart;
    const Real thetaLength;

};
POCELAIN_NAMESPACE_END
